
--[[
newTalent{
	name = "Lunar Orb",
	type = {"celestial/stella", 2},
	require = divi_req2,
	points = 5,
	cooldown = 3,
	range = 7,
	proj_speed = 3,
	getDamage = function(self, t) return self:combatTalentSpellDamage(t, 20, 200) end,
	requires_target = true,
	action = function(self, t)
		local tg = {type="beam", range=self:getTalentRange(t), talent=t, display={particle="bolt_dark"}, selffire=false}
		local damage = self:spellCrit(t.getDamage(self, t))
		local x, y = self:getTarget(tg)
		if not x or not y then return nil end
		self:projectile(tg, x, y, function(px, py, tg, self)
			local DT = require("engine.DamageType")
			DT:get(DT.DARKNESS).projector(self, px, py, DT.DARKNESS, damage)
			if x == px and y == py and self and self.x and self.y then
				local tgr = tg
				tgr.x, tgr.y = px, py
				tgr.talent = t
				tgr.range=-1
				local proj = require("engine.Projectile"):makeHoming(
					self,
					{particle="bolt_dark"},
					{speed=3, name="Lunar Orb", damage=damage, owner=self},
					self,
					self:getTalentRange(t) * 3,
					function(self, src)
						local DT = require("engine.DamageType")
						DT:get(DT.DARKNESS).projector(self.def.owner, self.x, self.y, DT.DARKNESS, self.def.damage)
					end,
					function(self, src, target) end
				)
				game.zone:addEntity(game.level, proj, "projectile", x, y)
			end
		end)
		return true
	end,
	info = function(self, t)
		local damage = t.getDamage(self, t)
		return ([[Fires out an orb of darkness that deals %d darkness damage and then returns, dealing the same amount of damage again.]]):
		format(damage)
	end,
}




--]]

newTalent{
	name = "Moonshadow",
	type = {"celestial/stella", 3},
	require = divi_req1,
	points = 5,
	cooldown = 20,
	range = 5,
	requires_target = true,
	getDamage = function(self, t) return self:combatTalentSpellDamage(t, 10, 40) end,
	radius = function(self, t) return 2 + math.floor(self:getTalentLevel(t) / 3) end,
	duration = function(self, t) return 1 + math.floor(self:getTalentLevel(t) / 2) end,
	action = function(self, t) end,
	info = function(self, t)
		local damage = t.getDamage(self, t)
		local radius = self:getTalentRadius(t)
		local duration = t.duration(self, t)
		return ([[This is some test text that deals %d damage in a radius of %d for %d turns.]]):
		format(damage, radius, duration)
	end,
}
